'\" te
.\"
.\" This file and its contents are supplied under the terms of the
.\" Common Development and Distribution License ("CDDL"), version 1.0.
.\" You may only use this file in accordance with the terms of version
.\" 1.0 of the CDDL.
.\"
.\" A full copy of the text of the CDDL should have accompanied this
.\" source.  A copy of the CDDL is also available via the Internet at
.\" http://www.illumos.org/license/CDDL.
.\"
.\"
.\" Copyright (c) 2014, Joyent, Inc.  All rights reserved.
.\"
.TH VND 4D "Feb 11, 2014"
.SH NAME
vnd \- virtual layer two network driver

.SH SYNOPSIS
.nf
.LP
/dev/vnd/ctl
.LP
/dev/vnd/*
.fi

.SH DESCRIPTION
.sp
.LP
The vnd driver provides support for a layer two datapath in an
analogous way that IP(4P) provides a support for an IP-based layer
three datapath. Both devices operate exclusively on datalinks. A
datalink that has been plumbed up with IP via ifconfig(1M) or
ipadm(1M) cannot be used with vnd or vice-versa.
.sp
.LP
The vnd driver supports and takes advantage of the the following
illumos features:
.RS
.sp
.LP
Supports dld/dls feature negotation of GLDv3 features, such
as direct calls, flow control, checksum offloading, and more.
.sp
.LP
All IP and IPv6 based traffic is sent through ipfilter(7),
allowing packet filtering.
.sp
.LP
Better control over vectored reads and writes in a frame-centric manner
through framed I/O. See libvnd(3LIB) for more information on these
interfaces.
.RE
.sp
.LP
The vnd driver exposes two different kinds of device nodes. The first is
a self-cloning control node which can be used to create vnd devices on
top of datalinks. Those devices can optionally be bound into the file
system namespace under /dev/vnd. Control operations on the control node
or named devices are private to the implementation. Instead,
libvnd(3LIB) provides a stable interfaces for using, creating, and
manipulating vnd devices.
.sp
.SH FILES
.sp
.ne 2
.na
/dev/vnd/ctl
.ad
.RS 16n
vnd self-cloning control node
.RE

.sp
.ne 2
.na
/dev/vnd/%link
.ad
.RS 16n
Character device that corresponds to the vnd device of the given
name (%link). A given device will appear for each actively linked device
in the current zone.
.RE

.sp
.ne 2
.na
/dev/vnd/zone/%zone/%link
.ad
.RS 16n
These are character devices that correspond to the vnd device of
the given name (%link). They are organized based on the zone that they
appear in. Thus if a zone named foo has a vnd device named
bar, then the global zone will have the file
/dev/vnd/zone/foo/bar. Note, these only occur in the global zone.
.RE

.SH ATTRIBUTES
.sp
.LP
See attributes(5) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
Interface Stability	Evolving
.TE

.SH SEE ALSO
.sp
.LP
libvnd(3LIB), ipfilter(7), vndstat(8), dladm(8), vndadm(8),

